Present-day mass storage subsystems incorporate many small, inexpensive disk drives in various configurations and enable high levels of recoverability in the event of failure of one or more of the disk drives. Such disk drive systems are referred to as RAID systems and provide redundant and inexpensive mass storage facilities. In such RAID systems, disk and sector addresses are often completely unrelated to a logical address which accompanies data from a host processor.
If, for any reason, the storage subsystem contains an error, in either the hardware, firmware or controlling software, the memory subsystem may return incorrect data to the host processor from a non-addressed disk sector--rather than data from the requested sector. For example, if a disk drive controller contains design defects, such defects may result in addressing miscalculations. As there are many address calculations in the path of an input/output operation, any one such miscalculation can cause an incorrect location to be accessed and data therefrom to be provided back to the host processor.
As such design-produced errors are difficult to detect, in advance, it is important to provide the memory subsystem with a method and apparatus for confirming that an accessed memory region, in fact, corresponds to a received host LBA. Such confirmation should preferably be had without requiring substantial added equipment and, further, without consuming substantial added disk space.
Accordingly, it is an object of this invention to provide an improved method and apparatus for enabling a memory subsystem to confirm that data accessed in accordance with a host LBA, in fact, corresponds to the requested host LBA.
It is another object of this invention to provide an improved method and apparatus for enabling a memory subsystem to make use of the host LBA to assure that correct data has, in fact, been provided in response to a host access request.